In an ATM communication system, data is communicated between terminals over virtual channels in data packets called cells. ATM communication systems are described in the textbook entitled ATM Theory and Application by David McDysan and Darren Spohn, 1999, published by McGraw-Hill. This textbook is hereby incorporated by reference. As shown in FIG. 1, which schematically illustrates a typical ATM communication system, the system comprises a large number of stations or terminals 10 for transmitting and receiving data from each other over virtual channels through ATM switches 14 (hereinafter called simply switches), which include data processors and which can establish virtual channel communication links with each other and with the stations 10. A station 10 transmitting cells over a virtual channel is called a source and a station 10 receiving cells transmitted over virtual channel is called a destination. The switches 14 respond to routing information in the headers of the cells to route the cells over the virtual channel to the correct destination. The virtual channels are designed for different classes of ATM traffic which are identified as constant bit rate (CBR), variable bit rate (VBR), available bit rate (ABR) and unspecified bit rate (UBR). Because both CBR and VBR traffic have a higher priority for communication link bandwidth than ABR traffic, the ABR bandwidth capacity on a data link is that which is available after subtraction of the bandwidth required for the CBR and VBR virtual channels. ATM communication systems are designed to manage the ABR traffic whereby the available bandwidth capacity is distributed among competing ABR sources.
The switches 14 compute an explicit rate (ER) for each ABR virtual channel passing through the switch in accordance with the congestion on the outbound link from the switch. The computed ER, if less than the rate desired or needed by the source terminal, is transmitted back to the source terminal which will then set its transmission rate in accordance with the received ER.
To transmit an ER for a virtual channel back to the virtual channel source, resource management (RM) cells are employed. FIG. 2 schematically illustrates how resource management cells are used in connection with a virtual channel to control the ER. As shown in FIG. 2, a virtual channel 15 extends from a virtual channel source 16 through switches 17 and 18 to a destination 19. The source 16 periodically transmits RM cells 20 over the virtual channel 15 to destination 19 from which the M cells are returned to the originating source 16 over an associated virtual channel 22. The RM cells, like ATM data cells, comprise a header containing routing information by which the RM cells are routed from the source to the destination. In addition, each IM cell will contain a current cell rate (CCR) which is inserted in the RM cell by the source and which indicates the rate at which the source is transmitting cells on the virtual channel. In addition, each RM cells contains an ER which is initially inserted into the RM cell by the source when the RM cell is transmitted on the virtual channel. Each of the switches 17 and 18, computes an ER for the virtual channel based on the congestion on the outbound link from the switch. The switch 17 computes an ER based on the congestion in the link from the switch 17 to the switch 18 and the switch 18 computes an ER based on the congestion in the outbound link from the switch 18. The links between the switches 17 and 18 and between the switch 18 and the destination 19 and other destinations will typically include a large number of virtual channels. The switch 17 compares the calculated ER with the ER in the currently received RM cells, and if the calculated ER is less than the ER in the currently received cell, the switch 17 will update the ER cell with the newly calculated ER. Similarly, if the switch 18 determines an ER which is less than the ER in the currently received RM cell, the switch 18 will update the ER in the RM cell with the newly calculated ER. Then, when the RM cell is circulated back to the source, the source will set its rate in accordance with ER in the M cell. The RM cell is circulated back to the source 16 from the destination 19 through the virtual channel 22 extending from the destination 19 back to the source 16.
An example of an algorithm for computing ER is called ERICA for “Explicit Rate Indicator for Congestion Avoidance” which is described in detail in U.S. Pat. No. 5,633,859 issued May 27, 19987 to Jain et al. This patent is hereby incorporated by reference. Other known algorithms for managing the ABR traffic are EPRCA, CAPC and ER based on demand estimate algorithm.
In accordance with ERICA, the bandwidth capacity available for ABR traffic on a data link is defined as Target ABR Capacity, and is determined as follows:Target ABR Capacity=target utilization×link bandwidth−VBR bandwidth usage−CBR bandwidth usage The target utilization is a fixed parameter close to, but less than, 100 percent, and is usually about 90 percent.
The VBR and CBR usages for a given data link are determined by counting the number of VBR and CBR cells on the data link during a time period called the averaging interval. The load factor z for the data link is calculated by dividing the ABR input rate by the Target ABR Capacity. The ABR input rate is measured by counting the incoming ABR cells to be transmitted over a data link during an averaging interval. A FairShare bandwidth share for each virtual channel on the data link is calculated by dividing the Target ABR Capacity by the number of active ABR sources competing for use of the data link. Another bandwidth share, called VCShare, is calculated by dividing the ABR current cell rate (CCR) on the virtual channel by the load factor z. The CCR is inserted in the RM cell by the source. The calculated ER used to update the ER value in the RM cell is calculated as follows under overload conditions:ER Calculated=Min(Max(FairShare,VCShare) Target ABR Capacity) Overload conditions are determined to exist when z is greater than 1+δ, in which δ is a small fixed fraction. In accordance with the above formula for ER calculated, the switch at which the explicit rate is calculated determines the FairShare and VCShare, then selects the one of these two quantities which is greater, and then determines the lesser of the selected FairShare of VCShare and the Target ABR Capacity for the link. The result of this determination becomes the calculated ER under overload conditions. Since the switches can only reduce the explicit rate in the RM cell, the ER is replaced in the RM cell with the newly calculated ER only if it is less than the ER already in the RM cell.
When the load factor z is less than 1+δ, to achieve fairness among the competing ABR virtual channels, the virtual channels in the link are assigned the same allocation equal to maximum allocation assigned during the previous averaging interval, if this allocation is less than the ER Calculated under overload conditions.
In a satellite ATM communication system, a virtual channel will extend from a source terminal in a ground station through an uplink to a switch in a satellite and from the switch in the satellite through a downlink to a destination terminal. The worst data congestion is likely be in the downlink, which typically will serve a large number of ground terminals receiving the downlink. In the prior art ATM satellite communication systems, the switch in the satellite computes the ER for each ABR virtual channel in the downlink and the ER computation requires added power and mass on board the satellite. Since power and mass are at a premium in a satellite, improvements which achieve even small reduction in the mass and power requirements of the satellite are quite valuable and are much sought after. Accordingly, there is a need to carry out the ER computation in a way without adding to the mass of the satellite and without adding to the satellite power requirements.